#!/usr/bin/bash
## 创建一个数组，里面存放着所有cowsay支持的动物参数
## 动物参数可以通过命令得知：cowsay -l 
animals=("beavis.zen" "blowfish" "bong" "bud-frogs" "bunny" "cheese" "cower" 
            "daemon" "default" "dragon" "dragon-and-cow" "elephant" "elephant-in-snake" 
            "eyes" "flaming-sheep" "ghostbusters" "head-in" "hellokitty" "kiss" "kitty" 
            "koala" "kosh" "luke-koala" "meow" "milk" "moofasa" "moose" "mutilated" "ren" 
            "satanic" "sheep" "skeleton" "small" "sodomized" "stegosaurus" "stimpy" "supermilker" 
            "surgery" "telebears" "three-eyes" "turkey" "turtle" "tux" "udder" "vader" "vader-koala" "www")

#### 创建一个数组，里面存放着所有fortune支持的句子参数
#### 句子参数可以通过命令查看fortune目录下文件得知，以下为arch默认安装得到：
#### arch 安装fortune命令： yay fortune-mod-zh ## 需要其他的也可以自行选择
#### 然后列出fortune目录下所有文件得知支持的句子：ls /usr/share/fortune ## 这里只是我的系统，仅供参考
#### 如果不知道fortune目录在哪里，可以：whereis fortune ## 很容易就找到了，进去ls以下就知道了

juzis=("art" "ascii-art" "chinese" "computers" "cookie" "debian" "definitions"
     "disclaimer" "drugs" "education" "ethnic" "food" "fortunes" "goedel"
     "humorists" "kids" "knghtbrd" "law" "linux" "literature" "love" "magic"
     "medicine" "men-women" "miscellaneous" "news" "paradoxum" "people" "perl"
     "pets" "platitudes" "politics" "pratchett" "riddles" "rules-of-acquisition"
     "science" "song100" "songs-poems" "sports" "startrek" "tang300" "tao"
     "translate-me" "wisdom" "work" "zippy")

## 涉及的shell知识 ####
#### 变量赋值的时候等号两边不要有空格，跟一般语言稍有不同，运行一下看报错就知道了、


#### RANDOM 出来的数对数组个数取余，就得到一个数组个数范围内的随机数
#### 以下先用变量随机生成两个随机数，保存用于指定第几个动物和句子
random_animal=$[RANDOM%47]
random_juzi=$[RANDOM%46]

#### 从数组里取出指定的动物名字和句子名字，存到另外的变量里
animals_str=${animals[random_animal]}
juzi_str=${juzis[random_juzi]}

#### 构造最终执行命令。
fortune $juzi_str | cowsay -f $animals_str

#### 最后把这个文件放在合适的位置，我放在~/scripts下
#### 然后在~/.zshrc的结尾加上 bash ~/scripts/cowsay_random.sh
#### 就可以每次打开终端的时候看到一个莫名其妙的动物说着莫名其妙的话啦

## todo
### 要不要再去找一些网络雷人语录、毒鸡汤之类的，自己做句子库，加到里面去